relation-queries {prisma}

include ⇒ 릴레이션을 선택만 하기 위한 간단한 옵션.

select ⇒ 네스팅이 가능한 복합적인 옵션. 이름처럼 특정한 필드만을 선택하기 위해 사용된다.

아래는 Chat GPT 4.5가 작성해준 초안

Prisma Relation Queries에 대한 가이드

Prisma는 데이터베이스 쿼리에서 관계 데이터를 손쉽게 다룰 수 있도록 두 가지 핵심 옵션인 includeselect를 제공합니다. 이 문서에서는 두 옵션의 사용법과 유스케이스, 그리고 권장되는 베스트 프랙티스를 소개합니다.


1. include

include는 Prisma에서 관계된 데이터를 간단하게 가져올 때 사용하는 옵션입니다. 별도의 복잡한 필터링 없이 관련된 모든 필드를 한 번에 불러오는 용도로 적합합니다.

사용 예시

const userWithPosts = await prisma.user.findUnique({
  where: { id: 1 },
  include: { posts: true },
});

유스케이스

베스트 프랙티스


2. select

select는 특정 필드만 선택하여 가져오거나, 네스팅하여 복잡한 관계 데이터를 정교하게 관리할 수 있도록 도와줍니다.

사용 예시

const userSelectiveData = await prisma.user.findUnique({
  where: { id: 1 },
  select: {
    name: true,
    email: true,
    posts: {
      select: {
        title: true,
        publishedAt: true,
      },
    },
  },
});

유스케이스

베스트 프랙티스


결론

두 옵션을 적절히 사용하여 데이터 처리 성능을 극대화하고, 유지보수성을 높이세요.